package com.ruoyi.hire.domain;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用人单位管理对象 t_hire_company
 *
 * @author linyang
 * @date 2025-07-20
 */
@Data
@TableName(value = "t_hire_company")
public class HireCompany {
//    @TableField(exist = false)
//    private static final long serialVersionUID = 1L;
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    private String name;

    /**
     * 组织机构代码
     */
    @Excel(name = "组织机构代码")
    private String code;

    /**
     * 账号
     */
    @Excel(name = "账号")
    private String account;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String password;

    /**
     * 单位行业
     */
    @Excel(name = "单位行业")
    private String industry;

    /**
     * 单位性质
     */
    @Excel(name = "单位性质")
    private String nature;

    /**
     * 单位规模
     */
    @Excel(name = "单位规模")
    private String scale;

    /**
     * 注册资金
     */
    @Excel(name = "注册资金")
    private BigDecimal capital;

    /**
     * 注册资金类型
     */
    @Excel(name = "注册资金类型")
    private String capitalType;

    /**
     * 单位官网
     */
    @Excel(name = "单位官网")
    private String site;

    /**
     * 单位福利
     */
    @Excel(name = "单位福利")
    private String welfare;

    /**
     * 单位介绍
     */
    @Excel(name = "单位介绍")
    private String detailIntroduction;

    /**
     * 单位简介
     */
    @Excel(name = "单位简介")
    private String briefIntroduction;

    /**
     * 单位logo
     */
    @Excel(name = "单位logo")
    private String logoUrl;

    /**
     * 营业执照
     */
    @Excel(name = "营业执照")
    private String license;

    /**
     * 单位联系人
     */
    @Excel(name = "单位联系人")
    private String contacts;

    /**
     * 单位联系电话
     */
    @Excel(name = "单位联系电话")
    private String telephone;

    /**
     * 邮箱
     */
    @Excel(name = "邮箱")
    private String email;

    /**
     * 招聘QQ
     */
    @Excel(name = "招聘QQ")
    private String qq;

    /**
     * 所在区域
     */
    @Excel(name = "所在区域")
    private String region;

    /**
     * 单位地址
     */
    @Excel(name = "单位地址")
    private String address;

    /**
     * 回退意见
     */
    @Excel(name = "回退意见")
    private String backOpinion;

    /**
     * 最后登入时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后登入时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastLoginTime;

    /**
     * 状态（-1回退,0等待完善信息,1待审核,2正常,3后台添加）
     */
    @Excel(name = "状态", readConverterExp = "-1回退,0等待完善信息,1待审核,2正常,3后台添加")
    private Long status;

    /**
     * 短信发送次数
     */
    @Excel(name = "短信发送次数")
    private Long smsSendCount;

    /**
     * 是否显示电话(0显示 1隐藏)
     */
    @Excel(name = "是否显示电话(0显示 1隐藏)")
    private Integer showTelephone;

    /**
     * 是否显示邮箱(0显示 1隐藏)
     */
    @Excel(name = "是否显示邮箱(0显示 1隐藏)")
    private Integer showEmail;

    /**
     * 是否显示qq(0显示 1隐藏)
     */
    @Excel(name = "是否显示qq(0显示 1隐藏)")
    private Integer showQq;

    /**
     * 是否显示联系人(0显示 1隐藏)
     */
    @Excel(name = "是否显示联系人(0显示 1隐藏)")
    private Integer showContacts;

    /**
     * 单位提交时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单位提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /**
     * 单位被审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单位被审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkTime;

    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;


    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;
}